package org.feifei.org.domain;


import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.feifei.basic.domain.BaseDomain;

import java.util.List;

/**
 * 实体类 Department 部门类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@Getter
@Setter
@EqualsAndHashCode
public class Department extends BaseDomain {

    private static final long serialVersionUID = 2402603872516060805L;
    @ApiModelProperty("部门编号")
    private String sn;          //部门编号
    @ApiModelProperty("部门名称")
    private String name;        //部门名称
    @ApiModelProperty("请求路径")
    private String dirPath;     //暂时不用
    @ApiModelProperty("部门状态 0=正常，-1=停用")
    private Integer state;      //部门状态 0=正常，-1=停用
    @ApiModelProperty("关联对象：部门经理，也是一个员工")
    private Employee manager;   //关联对象：部门经理，也是一个员工
    @ApiModelProperty("关联属性：部门经理ID=员工ID")
    private Long manager_id;    //关联属性：部门经理ID=员工ID
    @ApiModelProperty("关联对象：上级部门，也是一个部门")
    private Department parent;  //关联对象：上级部门，也是一个部门
    @ApiModelProperty("关联属性：上级部门ID=部门ID")
    private Long parent_id;     //关联属性：上级部门ID=部门ID
    /** 该属性用于获取部门树种的 下一级层菜单 */
    private List<Department> children;
}
